c.f. center-of-gravity method

Consider a more slightly general problem. Given convex set 𝒦\mathcal{K} via access to separation oracle S𝒦S_\mathcal{K} for the set, we want to determine if 𝒦\mathcal{K} is empty or, otherwise, return any point π±βˆˆπ’¦\mathbf{x} \in \mathcal{K}.

The hyperplane is parameterized by a normal vector 𝐚\mathbf{a} and offset cc so β„‹={𝐱:⟨𝐚,π±βŸ©β‰€c}\mathcal{H} = \{\mathbf{x}: \langle \mathbf{a},\mathbf{x}\rangle \leq c \}.

#incomplete

Theorem (Khachiyan, 1979)

Assume n=dn = d. The ellipsoid method solves any linear program with LL-bit integer valued constraints exactly in O(n4L)O(n^4 L) time.


Separation Oracle Example

#incomplete


Basic ellipsoid method. The basic ellipsoid algorithm is:

  • Ellipsoid method
  • given an initial ellipsoid (P(0),x(0))(P^{(0)}, x^{(0)}) containing a minimizer of ff.
  • k:=0k := 0.
  • repeat
    • Compute a subgradient: g(k)βˆˆβˆ‚f(x(k))g(k) ∈ βˆ‚f (x^{(k)}).
    • Normalize the subgradient: g~:=1g(k)TP(k)g(k)g(k)\tilde{g} := \frac{1}{\sqrt{g^{(k)T} P^{(k)}g^{(k)}}} g^{(k)}.
    • Update ellipsoid center: x(k+1):=x(k)βˆ’1n+1P(k)g~x^{(k+1)} := x^{(k)} βˆ’ \frac{1}{n+1} P^{(k)} \tilde{g}.
    • Update ellipsoid shape: P(k+1):=n2n2βˆ’1(P(k)βˆ’2n+1P(k)g~g~TP(k))P^{(k+1)} := \frac{n^2}{n^2 -1}\left( P^{(k)}-\frac{2}{n+1}P^{(k)}\tilde{g}\tilde{g}^T P^{(k)}\right)
    • k:=k+1k := k + 1.

The ellipsoid method is not a descent method, so we keep track of the best point found.
We define

fbest(k)=minj=0,...,k⁑f(x(j))f^{(k)}_{best}=\min_{j=0,...,k} f(x^{(j)})

References:

  1. Khachiyan, L. G. 1979. "A Polynomial Algorithm in Linear Programming".Β Doklady Akademii Nauk SSSRΒ 244, 1093-1096 (translated inΒ Soviet Mathematics DokladyΒ 20, 191-194, 1979).
  2. https://www.nytimes.com/1979/11/07/archives/a-soviet-discovery-rocks-world-of-mathematics-russians-surprise.html
  3. https://www.chrismusco.com/amlds2023/notes/lecture09.html#Ellipsoid_Method
  4. https://www.cs.princeton.edu/courses/archive/fall18/cos521/Lectures/lec16.pdf
  5. https://web.stanford.edu/class/ee364b/lectures/ellipsoid_method_notes.pdf
  6. https://www.cs.ubc.ca/~nickhar/W13/Lecture4.pdf